package com.ruoyi.mapper;

import com.ruoyi.domain.HhOrder;

import java.util.List;

/**
 * 销售订单Mapper接口
 * @author chongjin
 * @date 2020-11-18
 */
public interface HhOrderMapper {
    /**
     * 查询销售订单
     * @param orderId 销售订单ID
     * @return 销售订单
     */
    public HhOrder selectHhOrderById(String orderId);

    /**
     * 查询销售订单列表
     * @param hhOrder 销售订单
     * @return 销售订单集合
     */
    public List<HhOrder> selectHhOrderList(HhOrder hhOrder);

    /**
     * 新增销售订单
     * @param hhOrder 销售订单
     * @return 结果
     */
    public int insertHhOrder(HhOrder hhOrder);

    /**
     * 修改销售订单
     * @param hhOrder 销售订单
     * @return 结果
     */
    public int updateHhOrder(HhOrder hhOrder);

    /**
     * 结清
     * @param orderId 结算单ID
     * @return 结果
     */
    public int updateHhOrderClear(String orderId);

    /**
     * 付清
     * @param orderId 结算单ID
     * @return 结果
     */
    public int updateHhOrderPayClear(String orderId);

    /**
     * 用户订单结算
     * @param hhOrder 订单信息
     * @return 结果
     */
    public int updateHhOrderClose(HhOrder hhOrder);

    /**
     * 单笔订单付清
     * @param orderId 销售订单ID
     * @return 结果
     */
    public int updateHhOrderPayByOrderId(String orderId);

    /**
     * 删除销售订单
     * @param orderId 销售订单ID
     * @return 结果
     */
    public int deleteHhOrderById(String orderId);

    /**
     * 批量删除销售订单
     * @param orderIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteHhOrderByIds(String[] orderIds);

    /**
     * 查询最新订单号
     * @param dateStr 最新日期字符串
     * @return 结果
     */
    public String createOrderId(String dateStr);

    /**
     * 查询已付款
     * @param hhOrder 订单信息
     * @return 销售订单
     */
    public HhOrder selectOrderAllPay(HhOrder hhOrder);

    /**
     * 查询退货单总计
     * @param hhOrder 订单信息
     * @return 销售订单
     */
    public List<HhOrder> selectReturnOrderPay(HhOrder hhOrder);

    /**
     * 查询退货款
     * @param hhOrder 订单信息
     * @return 销售订单
     */
    public HhOrder selectReturnPay(HhOrder hhOrder);

}
